/*
 * Copyright (c) 2018. 
 * 北京九思金信科技有限公司对该文件内容保留所有权利。
 * 未经许可，不得私自拷贝、传播、发布、引用该文件内容，违者将被追究法律责任。
 */

import Vue from 'vue'
import axios from 'axios'

const token = localStorage.getItem('AUTH-TOKEN')
axios.defaults.headers.common['AUTH-TOKEN'] = token
let instance = axios.create({
  timeout: 3000
})
//请求拦截
instance.interceptors.request.use((config) => {
  return config;
}, (err) => {
  return Promise.reject(err)
})

//响应拦截
instance.interceptors.response.use((response) => {
  response.body = response.data
  if (response.status == 200) {
    return response
  } else {
    return Promise.reject(response)
  }
}, err => {
  return Promise.reject(err)
})

//vue插件
let httpPlugin = {
  install(Vue) {
    //防止$http在将来被覆盖
    Object.defineProperty(Vue.prototype, '$http', {
      value: instance
    })
  }
}

export {instance}
export default httpPlugin
